/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var moveZeroes = function(nums) {
  /**
   * 1.声明变量记录当前数组为0时下标
   * 2.循环时判断当前位置是否不为0，条件满足时：
   *   a.声明变量记录当前位置值
   *   b.将当前循环i位置的值替换为n位置的值
   *   c.将记录复制的值赋值给下标n位置
   *   d.将n++
   */
  let n = 0;
  for(let i = 0; i < nums.length; i++) {
    if (nums[i] !== 0) {
      const num = nums[i];
      nums[i] = nums[n];
      nums[n] = num;
      n++;
    }
  }
};